// 引入操作t_emp表的db模块
let db = require("../db/emp.js");

let util =  require("../../util")

/**
 * 
 * @param {Object} data 请求参数
 * @param {Function} callback 回调函数 
 */
exports.queryList = function (data, callback) {
    console.log("emp.queryList.data = ", data);
    util.setupPage(data,"hire_date desc");
    db.queryList(data, function (result) {
        let returnData = {};
        // 查询失败
        if (result == null) {
            returnData = {
                status: -1,
                msg: "查询失败",
            };
        } else {
            returnData = {
                status: 1,
                msg: "查询成功",
                result_data: result
            }
        }
        callback(returnData);
    });
}

/**
 * 增加职员数据
 * @param {Object} data 请求参数
 * @param {Function} callback 回调函数 
 */
exports.insert = function (data, callback) {
    console.log("emp.insert.data = ", data);
    db.insert(data, function (result) {
        let returnData = {};
        if (result == null || result.affectedRows != 1) {
            returnData = {
                status: -1,
                msg: "增加失败",
            }
        } else {
            returnData = {
                status: 1,
                msg: "增加成功"
            }
        }
        callback(returnData);
    });
}


/**
 * 修改职员数据
 * @param {Object} data 请求参数
 * @param {Function} callback 回调函数 
 */
exports.update = function (data, callback) {
    console.log("emp.update.data = ", data);
    // 逻辑层还可以做简单的数据校验
    if (!data.t_emp_pk) {
        callback({ status: -1,msg: "职员编码不能为空"});
        return;
    }

    db.update(data, function (result) {
        let returnData;
        if (result == null || result.affectedRows != 1) {
            returnData = {
                status: -1,
                msg: "修改失败",
            }
        } else {
            returnData = {
                status: 1,
                msg: "修改成功"
            }
        }
        callback(returnData);
    });
}

/**
 * 删除职员数据
 * @param {Object} data 请求参数
 * @param {Function} callback 回调函数 
 */
exports.delete = function (data, callback) {
    console.log("emp.delete.data = ", data);
    // 逻辑层还可以做简单的数据校验
    if (!data.t_emp_pk) {
        callback({ status: -1,msg: "职员编码不能为空"});
        return;
    }
    db.delete(data, function (result) {
        let returnData = {};
        if (result == null || result.affectedRows != 1) {
            returnData = {
                status: -1,
                msg: "删除失败",
            }
        } else {
            returnData = {
                status: 1,
                msg: "删除成功"
            }
        }
        callback(returnData);
    });
}